<?php
/**
 * Starshield
 *
 * @category Jdcloud
 * @package  DragonJd\Starshield
 * @author   Jdcloud <jdcloud-api@jd.com>
 * @license  Apache-2.0 http://www.apache.org/licenses/LICENSE-2.0
 * @link     https://www.jdcloud.com/help/faq
 */

namespace DragonJd\Starshield;

use DragonJd\JdCloudClient;
use DragonJd\Api\Service;
use DragonJd\Api\DocModel;
use DragonJd\Api\ApiProvider;
use DragonJd\PresignUrlMiddleware;

/**
 * Client used to interact with starshield.
 *
 * @method \DragonJd\Result dashboard(array $args = [])
 * @method \GuzzleHttp\Promise\Promise dashboardAsync(array $args = [])
 * @method \DragonJd\Result topK(array $args = [])
 * @method \GuzzleHttp\Promise\Promise topKAsync(array $args = [])
 * @method \DragonJd\Result bandwidthTopK(array $args = [])
 * @method \GuzzleHttp\Promise\Promise bandwidthTopKAsync(array $args = [])
 * @method \DragonJd\Result dateHistogram(array $args = [])
 * @method \GuzzleHttp\Promise\Promise dateHistogramAsync(array $args = [])
 * @method \DragonJd\Result dateHistogramBandwidth(array $args = [])
 * @method \GuzzleHttp\Promise\Promise dateHistogramBandwidthAsync(array $args = [])
 * @method \DragonJd\Result bandwidthTrend(array $args = [])
 * @method \GuzzleHttp\Promise\Promise bandwidthTrendAsync(array $args = [])
 * @method \DragonJd\Result cacheTopK(array $args = [])
 * @method \GuzzleHttp\Promise\Promise cacheTopKAsync(array $args = [])
 * @method \DragonJd\Result cacheBandwidthTopK(array $args = [])
 * @method \GuzzleHttp\Promise\Promise cacheBandwidthTopKAsync(array $args = [])
 * @method \DragonJd\Result cacheDateHistogram(array $args = [])
 * @method \GuzzleHttp\Promise\Promise cacheDateHistogramAsync(array $args = [])
 * @method \DragonJd\Result cacheDateHistogramBandwidth(array $args = [])
 * @method \GuzzleHttp\Promise\Promise cacheDateHistogramBandwidthAsync(array $args = [])
 * @method \DragonJd\Result firewallTopK(array $args = [])
 * @method \GuzzleHttp\Promise\Promise firewallTopKAsync(array $args = [])
 * @method \DragonJd\Result firewallDateHistogram(array $args = [])
 * @method \GuzzleHttp\Promise\Promise firewallDateHistogramAsync(array $args = [])
 * @method \DragonJd\Result qpsZone(array $args = [])
 * @method \GuzzleHttp\Promise\Promise qpsZoneAsync(array $args = [])
 * @method \DragonJd\Result xps(array $args = [])
 * @method \GuzzleHttp\Promise\Promise xpsAsync(array $args = [])
 * @method \DragonJd\Result qpsInstance(array $args = [])
 * @method \GuzzleHttp\Promise\Promise qpsInstanceAsync(array $args = [])
 * @method \DragonJd\Result bpsZone(array $args = [])
 * @method \GuzzleHttp\Promise\Promise bpsZoneAsync(array $args = [])
 * @method \DragonJd\Result bpsInstance(array $args = [])
 * @method \GuzzleHttp\Promise\Promise bpsInstanceAsync(array $args = [])
 * @method \DragonJd\Result firewallActivityLog(array $args = [])
 * @method \GuzzleHttp\Promise\Promise firewallActivityLogAsync(array $args = [])
 * @method \DragonJd\Result accessLog(array $args = [])
 * @method \GuzzleHttp\Promise\Promise accessLogAsync(array $args = [])
 * @method \DragonJd\Result groupBy(array $args = [])
 * @method \GuzzleHttp\Promise\Promise groupByAsync(array $args = [])
 * @method \DragonJd\Result listAvailablePageRuleSetting(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listAvailablePageRuleSettingAsync(array $args = [])
 * @method \DragonJd\Result listCertificatePacks(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listCertificatePacksAsync(array $args = [])
 * @method \DragonJd\Result deleteAdvancedCertificateManagerCertificatePack(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteAdvancedCertificateManagerCertificatePackAsync(array $args = [])
 * @method \DragonJd\Result orderAdvancedCertificateManagerCertificatePack(array $args = [])
 * @method \GuzzleHttp\Promise\Promise orderAdvancedCertificateManagerCertificatePackAsync(array $args = [])
 * @method \DragonJd\Result listAvailableCustomPages(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listAvailableCustomPagesAsync(array $args = [])
 * @method \DragonJd\Result updateCustomPageURL(array $args = [])
 * @method \GuzzleHttp\Promise\Promise updateCustomPageURLAsync(array $args = [])
 * @method \DragonJd\Result listSSLConfigurations(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listSSLConfigurationsAsync(array $args = [])
 * @method \DragonJd\Result createSSLConfiguration(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createSSLConfigurationAsync(array $args = [])
 * @method \DragonJd\Result editSSLConfiguration(array $args = [])
 * @method \GuzzleHttp\Promise\Promise editSSLConfigurationAsync(array $args = [])
 * @method \DragonJd\Result deleteSSLConfiguration(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteSSLConfigurationAsync(array $args = [])
 * @method \DragonJd\Result listDNSRecords(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listDNSRecordsAsync(array $args = [])
 * @method \DragonJd\Result createDNSRecord(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createDNSRecordAsync(array $args = [])
 * @method \DragonJd\Result updateDNSRecord(array $args = [])
 * @method \GuzzleHttp\Promise\Promise updateDNSRecordAsync(array $args = [])
 * @method \DragonJd\Result deleteDNSRecord(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteDNSRecordAsync(array $args = [])
 * @method \DragonJd\Result createFilters(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createFiltersAsync(array $args = [])
 * @method \DragonJd\Result updateIndividualFilter(array $args = [])
 * @method \GuzzleHttp\Promise\Promise updateIndividualFilterAsync(array $args = [])
 * @method \DragonJd\Result listOfFirewallRules(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listOfFirewallRulesAsync(array $args = [])
 * @method \DragonJd\Result createFirewallRules(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createFirewallRulesAsync(array $args = [])
 * @method \DragonJd\Result updateIndividualFirewallRule(array $args = [])
 * @method \GuzzleHttp\Promise\Promise updateIndividualFirewallRuleAsync(array $args = [])
 * @method \DragonJd\Result deleteIndividualFirewallRules(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteIndividualFirewallRulesAsync(array $args = [])
 * @method \DragonJd\Result describeBotStatus(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeBotStatusAsync(array $args = [])
 * @method \DragonJd\Result openFirewallBot(array $args = [])
 * @method \GuzzleHttp\Promise\Promise openFirewallBotAsync(array $args = [])
 * @method \DragonJd\Result describeInstances(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeInstancesAsync(array $args = [])
 * @method \DragonJd\Result createInstance(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createInstanceAsync(array $args = [])
 * @method \DragonJd\Result createFlowPack(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createFlowPackAsync(array $args = [])
 * @method \DragonJd\Result modifyInstance(array $args = [])
 * @method \GuzzleHttp\Promise\Promise modifyInstanceAsync(array $args = [])
 * @method \DragonJd\Result describeInstanceByOrderNo(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeInstanceByOrderNoAsync(array $args = [])
 * @method \DragonJd\Result selectDetailList(array $args = [])
 * @method \GuzzleHttp\Promise\Promise selectDetailListAsync(array $args = [])
 * @method \DragonJd\Result checkInstancesName(array $args = [])
 * @method \GuzzleHttp\Promise\Promise checkInstancesNameAsync(array $args = [])
 * @method \DragonJd\Result ips(array $args = [])
 * @method \GuzzleHttp\Promise\Promise ipsAsync(array $args = [])
 * @method \DragonJd\Result instanceBandwidthAvg(array $args = [])
 * @method \GuzzleHttp\Promise\Promise instanceBandwidthAvgAsync(array $args = [])
 * @method \DragonJd\Result instanceBandwidthMax(array $args = [])
 * @method \GuzzleHttp\Promise\Promise instanceBandwidthMaxAsync(array $args = [])
 * @method \DragonJd\Result instanceBandwidthP95(array $args = [])
 * @method \GuzzleHttp\Promise\Promise instanceBandwidthP95Async(array $args = [])
 * @method \DragonJd\Result instanceBandwidthDateHistogram(array $args = [])
 * @method \GuzzleHttp\Promise\Promise instanceBandwidthDateHistogramAsync(array $args = [])
 * @method \DragonJd\Result instanceBandwidthMultiDateHistogram(array $args = [])
 * @method \GuzzleHttp\Promise\Promise instanceBandwidthMultiDateHistogramAsync(array $args = [])
 * @method \DragonJd\Result bandwidthDateHistogramTopK(array $args = [])
 * @method \GuzzleHttp\Promise\Promise bandwidthDateHistogramTopKAsync(array $args = [])
 * @method \DragonJd\Result bandwidthTopK(array $args = [])
 * @method \GuzzleHttp\Promise\Promise bandwidthTopKAsync(array $args = [])
 * @method \DragonJd\Result instanceBandwidthList(array $args = [])
 * @method \GuzzleHttp\Promise\Promise instanceBandwidthListAsync(array $args = [])
 * @method \DragonJd\Result instanceTrafficSum(array $args = [])
 * @method \GuzzleHttp\Promise\Promise instanceTrafficSumAsync(array $args = [])
 * @method \DragonJd\Result instanceTrafficDateHistogram(array $args = [])
 * @method \GuzzleHttp\Promise\Promise instanceTrafficDateHistogramAsync(array $args = [])
 * @method \DragonJd\Result instanceTrafficMultiDateHistogram(array $args = [])
 * @method \GuzzleHttp\Promise\Promise instanceTrafficMultiDateHistogramAsync(array $args = [])
 * @method \DragonJd\Result trafficDateHistogramTopK(array $args = [])
 * @method \GuzzleHttp\Promise\Promise trafficDateHistogramTopKAsync(array $args = [])
 * @method \DragonJd\Result trafficTopK(array $args = [])
 * @method \GuzzleHttp\Promise\Promise trafficTopKAsync(array $args = [])
 * @method \DragonJd\Result instanceRequestSum(array $args = [])
 * @method \GuzzleHttp\Promise\Promise instanceRequestSumAsync(array $args = [])
 * @method \DragonJd\Result instanceRequestDateHistogram(array $args = [])
 * @method \GuzzleHttp\Promise\Promise instanceRequestDateHistogramAsync(array $args = [])
 * @method \DragonJd\Result instanceRequestMultiDateHistogram(array $args = [])
 * @method \GuzzleHttp\Promise\Promise instanceRequestMultiDateHistogramAsync(array $args = [])
 * @method \DragonJd\Result requestDateHistogramTopK(array $args = [])
 * @method \GuzzleHttp\Promise\Promise requestDateHistogramTopKAsync(array $args = [])
 * @method \DragonJd\Result requestTopK(array $args = [])
 * @method \GuzzleHttp\Promise\Promise requestTopKAsync(array $args = [])
 * @method \DragonJd\Result listLogpushJobs(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listLogpushJobsAsync(array $args = [])
 * @method \DragonJd\Result createLogpushJob(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createLogpushJobAsync(array $args = [])
 * @method \DragonJd\Result fields(array $args = [])
 * @method \GuzzleHttp\Promise\Promise fieldsAsync(array $args = [])
 * @method \DragonJd\Result fieldsDefault(array $args = [])
 * @method \GuzzleHttp\Promise\Promise fieldsDefaultAsync(array $args = [])
 * @method \DragonJd\Result updateLogpushJob(array $args = [])
 * @method \GuzzleHttp\Promise\Promise updateLogpushJobAsync(array $args = [])
 * @method \DragonJd\Result deleteLogpushJob(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteLogpushJobAsync(array $args = [])
 * @method \DragonJd\Result checkDestinationExists(array $args = [])
 * @method \GuzzleHttp\Promise\Promise checkDestinationExistsAsync(array $args = [])
 * @method \DragonJd\Result describePackages(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describePackagesAsync(array $args = [])
 * @method \DragonJd\Result describePackage(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describePackageAsync(array $args = [])
 * @method \DragonJd\Result listPageRules(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listPageRulesAsync(array $args = [])
 * @method \DragonJd\Result createPageRule(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createPageRuleAsync(array $args = [])
 * @method \DragonJd\Result updatePageRule(array $args = [])
 * @method \GuzzleHttp\Promise\Promise updatePageRuleAsync(array $args = [])
 * @method \DragonJd\Result deletePageRule(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deletePageRuleAsync(array $args = [])
 * @method \DragonJd\Result universalSSLSettingsDetails(array $args = [])
 * @method \GuzzleHttp\Promise\Promise universalSSLSettingsDetailsAsync(array $args = [])
 * @method \DragonJd\Result editUniversalSSLSettings(array $args = [])
 * @method \GuzzleHttp\Promise\Promise editUniversalSSLSettingsAsync(array $args = [])
 * @method \DragonJd\Result listRuleGroups(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listRuleGroupsAsync(array $args = [])
 * @method \DragonJd\Result ruleGroupDetails(array $args = [])
 * @method \GuzzleHttp\Promise\Promise ruleGroupDetailsAsync(array $args = [])
 * @method \DragonJd\Result editRuleGroup(array $args = [])
 * @method \GuzzleHttp\Promise\Promise editRuleGroupAsync(array $args = [])
 * @method \DragonJd\Result listFirewallPackages(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listFirewallPackagesAsync(array $args = [])
 * @method \DragonJd\Result firewallPackageDetails(array $args = [])
 * @method \GuzzleHttp\Promise\Promise firewallPackageDetailsAsync(array $args = [])
 * @method \DragonJd\Result editFirewallPackage(array $args = [])
 * @method \GuzzleHttp\Promise\Promise editFirewallPackageAsync(array $args = [])
 * @method \DragonJd\Result listRules(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listRulesAsync(array $args = [])
 * @method \DragonJd\Result ruleDetails(array $args = [])
 * @method \GuzzleHttp\Promise\Promise ruleDetailsAsync(array $args = [])
 * @method \DragonJd\Result editRule(array $args = [])
 * @method \GuzzleHttp\Promise\Promise editRuleAsync(array $args = [])
 * @method \DragonJd\Result zoneBandwidthAvg(array $args = [])
 * @method \GuzzleHttp\Promise\Promise zoneBandwidthAvgAsync(array $args = [])
 * @method \DragonJd\Result zoneBandwidthMax(array $args = [])
 * @method \GuzzleHttp\Promise\Promise zoneBandwidthMaxAsync(array $args = [])
 * @method \DragonJd\Result zoneBandwidthP95(array $args = [])
 * @method \GuzzleHttp\Promise\Promise zoneBandwidthP95Async(array $args = [])
 * @method \DragonJd\Result zoneBandwidthDateHistogram(array $args = [])
 * @method \GuzzleHttp\Promise\Promise zoneBandwidthDateHistogramAsync(array $args = [])
 * @method \DragonJd\Result zoneBandwidthMultiDateHistogram(array $args = [])
 * @method \GuzzleHttp\Promise\Promise zoneBandwidthMultiDateHistogramAsync(array $args = [])
 * @method \DragonJd\Result zoneTrafficSum(array $args = [])
 * @method \GuzzleHttp\Promise\Promise zoneTrafficSumAsync(array $args = [])
 * @method \DragonJd\Result zoneTrafficDateHistogram(array $args = [])
 * @method \GuzzleHttp\Promise\Promise zoneTrafficDateHistogramAsync(array $args = [])
 * @method \DragonJd\Result zoneTrafficMultiDateHistogram(array $args = [])
 * @method \GuzzleHttp\Promise\Promise zoneTrafficMultiDateHistogramAsync(array $args = [])
 * @method \DragonJd\Result zoneRequestSum(array $args = [])
 * @method \GuzzleHttp\Promise\Promise zoneRequestSumAsync(array $args = [])
 * @method \DragonJd\Result zoneRequestDateHistogram(array $args = [])
 * @method \GuzzleHttp\Promise\Promise zoneRequestDateHistogramAsync(array $args = [])
 * @method \DragonJd\Result zoneRequestMultiDateHistogram(array $args = [])
 * @method \GuzzleHttp\Promise\Promise zoneRequestMultiDateHistogramAsync(array $args = [])
 * @method \DragonJd\Result listZones(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listZonesAsync(array $args = [])
 * @method \DragonJd\Result createZone(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createZoneAsync(array $args = [])
 * @method \DragonJd\Result deleteZone(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteZoneAsync(array $args = [])
 * @method \DragonJd\Result purgeAllFiles(array $args = [])
 * @method \GuzzleHttp\Promise\Promise purgeAllFilesAsync(array $args = [])
 * @method \DragonJd\Result purgeFilesByURL(array $args = [])
 * @method \GuzzleHttp\Promise\Promise purgeFilesByURLAsync(array $args = [])
 * @method \DragonJd\Result purgeFilesByCache_TagsAndHostOrPrefix(array $args = [])
 * @method \GuzzleHttp\Promise\Promise purgeFilesByCache_TagsAndHostOrPrefixAsync(array $args = [])
 * @method \DragonJd\Result getAllZoneSettings(array $args = [])
 * @method \GuzzleHttp\Promise\Promise getAllZoneSettingsAsync(array $args = [])
 * @method \DragonJd\Result editZoneSettingsInfo(array $args = [])
 * @method \GuzzleHttp\Promise\Promise editZoneSettingsInfoAsync(array $args = [])
 * @method \DragonJd\Result getAdvancedDDOSSetting(array $args = [])
 * @method \GuzzleHttp\Promise\Promise getAdvancedDDOSSettingAsync(array $args = [])
 * @method \DragonJd\Result getAlwaysOnlineSetting(array $args = [])
 * @method \GuzzleHttp\Promise\Promise getAlwaysOnlineSettingAsync(array $args = [])
 * @method \DragonJd\Result changeAlwaysOnlineSetting(array $args = [])
 * @method \GuzzleHttp\Promise\Promise changeAlwaysOnlineSettingAsync(array $args = [])
 * @method \DragonJd\Result getAlwaysUseHTTPSSetting(array $args = [])
 * @method \GuzzleHttp\Promise\Promise getAlwaysUseHTTPSSettingAsync(array $args = [])
 * @method \DragonJd\Result changeAlwaysUseHTTPSSetting(array $args = [])
 * @method \GuzzleHttp\Promise\Promise changeAlwaysUseHTTPSSettingAsync(array $args = [])
 * @method \DragonJd\Result getAutomaticHTTPSRewritesSetting(array $args = [])
 * @method \GuzzleHttp\Promise\Promise getAutomaticHTTPSRewritesSettingAsync(array $args = [])
 * @method \DragonJd\Result changeAutomaticHTTPSRewritesSetting(array $args = [])
 * @method \GuzzleHttp\Promise\Promise changeAutomaticHTTPSRewritesSettingAsync(array $args = [])
 * @method \DragonJd\Result getBrowserCacheTTLSetting(array $args = [])
 * @method \GuzzleHttp\Promise\Promise getBrowserCacheTTLSettingAsync(array $args = [])
 * @method \DragonJd\Result changeBrowserCacheTTLSetting(array $args = [])
 * @method \GuzzleHttp\Promise\Promise changeBrowserCacheTTLSettingAsync(array $args = [])
 * @method \DragonJd\Result getBrowserCheckSetting(array $args = [])
 * @method \GuzzleHttp\Promise\Promise getBrowserCheckSettingAsync(array $args = [])
 * @method \DragonJd\Result changeBrowserCheckSetting(array $args = [])
 * @method \GuzzleHttp\Promise\Promise changeBrowserCheckSettingAsync(array $args = [])
 * @method \DragonJd\Result changeCacheLevelSetting(array $args = [])
 * @method \GuzzleHttp\Promise\Promise changeCacheLevelSettingAsync(array $args = [])
 * @method \DragonJd\Result getChallengeTTLSetting(array $args = [])
 * @method \GuzzleHttp\Promise\Promise getChallengeTTLSettingAsync(array $args = [])
 * @method \DragonJd\Result changeChallengeTTLSetting(array $args = [])
 * @method \GuzzleHttp\Promise\Promise changeChallengeTTLSettingAsync(array $args = [])
 * @method \DragonJd\Result getDevelopmentModeSetting(array $args = [])
 * @method \GuzzleHttp\Promise\Promise getDevelopmentModeSettingAsync(array $args = [])
 * @method \DragonJd\Result changeDevelopmentModeSetting(array $args = [])
 * @method \GuzzleHttp\Promise\Promise changeDevelopmentModeSettingAsync(array $args = [])
 * @method \DragonJd\Result getEmailObfuscationSetting(array $args = [])
 * @method \GuzzleHttp\Promise\Promise getEmailObfuscationSettingAsync(array $args = [])
 * @method \DragonJd\Result changeEmailObfuscationSetting(array $args = [])
 * @method \GuzzleHttp\Promise\Promise changeEmailObfuscationSettingAsync(array $args = [])
 * @method \DragonJd\Result getHotlinkProtectionSetting(array $args = [])
 * @method \GuzzleHttp\Promise\Promise getHotlinkProtectionSettingAsync(array $args = [])
 * @method \DragonJd\Result changeHotlinkProtectionSetting(array $args = [])
 * @method \GuzzleHttp\Promise\Promise changeHotlinkProtectionSettingAsync(array $args = [])
 * @method \DragonJd\Result getIPGeolocationSetting(array $args = [])
 * @method \GuzzleHttp\Promise\Promise getIPGeolocationSettingAsync(array $args = [])
 * @method \DragonJd\Result changeIPGeolocationSetting(array $args = [])
 * @method \GuzzleHttp\Promise\Promise changeIPGeolocationSettingAsync(array $args = [])
 * @method \DragonJd\Result getIPv6Setting(array $args = [])
 * @method \GuzzleHttp\Promise\Promise getIPv6SettingAsync(array $args = [])
 * @method \DragonJd\Result changeIPv6Setting(array $args = [])
 * @method \GuzzleHttp\Promise\Promise changeIPv6SettingAsync(array $args = [])
 * @method \DragonJd\Result getMinifySetting(array $args = [])
 * @method \GuzzleHttp\Promise\Promise getMinifySettingAsync(array $args = [])
 * @method \DragonJd\Result changeMinifySetting(array $args = [])
 * @method \GuzzleHttp\Promise\Promise changeMinifySettingAsync(array $args = [])
 * @method \DragonJd\Result getMobileRedirectSetting(array $args = [])
 * @method \GuzzleHttp\Promise\Promise getMobileRedirectSettingAsync(array $args = [])
 * @method \DragonJd\Result changeMobileRedirectSetting(array $args = [])
 * @method \GuzzleHttp\Promise\Promise changeMobileRedirectSettingAsync(array $args = [])
 * @method \DragonJd\Result getMirageSetting(array $args = [])
 * @method \GuzzleHttp\Promise\Promise getMirageSettingAsync(array $args = [])
 * @method \DragonJd\Result changeMirageSetting(array $args = [])
 * @method \GuzzleHttp\Promise\Promise changeMirageSettingAsync(array $args = [])
 * @method \DragonJd\Result getEnableErrorPagesOnSetting(array $args = [])
 * @method \GuzzleHttp\Promise\Promise getEnableErrorPagesOnSettingAsync(array $args = [])
 * @method \DragonJd\Result changeEnableErrorPagesOnSetting(array $args = [])
 * @method \GuzzleHttp\Promise\Promise changeEnableErrorPagesOnSettingAsync(array $args = [])
 * @method \DragonJd\Result getOpportunisticEncryptionSetting(array $args = [])
 * @method \GuzzleHttp\Promise\Promise getOpportunisticEncryptionSettingAsync(array $args = [])
 * @method \DragonJd\Result changeOpportunisticEncryptionSetting(array $args = [])
 * @method \GuzzleHttp\Promise\Promise changeOpportunisticEncryptionSettingAsync(array $args = [])
 * @method \DragonJd\Result getPolishSetting(array $args = [])
 * @method \GuzzleHttp\Promise\Promise getPolishSettingAsync(array $args = [])
 * @method \DragonJd\Result changePolishSetting(array $args = [])
 * @method \GuzzleHttp\Promise\Promise changePolishSettingAsync(array $args = [])
 * @method \DragonJd\Result getWebPSetting(array $args = [])
 * @method \GuzzleHttp\Promise\Promise getWebPSettingAsync(array $args = [])
 * @method \DragonJd\Result changeWebPSetting(array $args = [])
 * @method \GuzzleHttp\Promise\Promise changeWebPSettingAsync(array $args = [])
 * @method \DragonJd\Result changeBrotliSetting(array $args = [])
 * @method \GuzzleHttp\Promise\Promise changeBrotliSettingAsync(array $args = [])
 * @method \DragonJd\Result getPrefetchPreloadSetting(array $args = [])
 * @method \GuzzleHttp\Promise\Promise getPrefetchPreloadSettingAsync(array $args = [])
 * @method \DragonJd\Result changePrefetchPreloadSetting(array $args = [])
 * @method \GuzzleHttp\Promise\Promise changePrefetchPreloadSettingAsync(array $args = [])
 * @method \DragonJd\Result getPrivacyPassSetting(array $args = [])
 * @method \GuzzleHttp\Promise\Promise getPrivacyPassSettingAsync(array $args = [])
 * @method \DragonJd\Result changePrivacyPassSetting(array $args = [])
 * @method \GuzzleHttp\Promise\Promise changePrivacyPassSettingAsync(array $args = [])
 * @method \DragonJd\Result getRocketLoaderSetting(array $args = [])
 * @method \GuzzleHttp\Promise\Promise getRocketLoaderSettingAsync(array $args = [])
 * @method \DragonJd\Result changeRocketLoaderSetting(array $args = [])
 * @method \GuzzleHttp\Promise\Promise changeRocketLoaderSettingAsync(array $args = [])
 * @method \DragonJd\Result getSecurityHeaderHSTSSetting(array $args = [])
 * @method \GuzzleHttp\Promise\Promise getSecurityHeaderHSTSSettingAsync(array $args = [])
 * @method \DragonJd\Result getSecurityLevelSetting(array $args = [])
 * @method \GuzzleHttp\Promise\Promise getSecurityLevelSettingAsync(array $args = [])
 * @method \DragonJd\Result changeSecurityLevelSetting(array $args = [])
 * @method \GuzzleHttp\Promise\Promise changeSecurityLevelSettingAsync(array $args = [])
 * @method \DragonJd\Result getServerSideExcludeSetting(array $args = [])
 * @method \GuzzleHttp\Promise\Promise getServerSideExcludeSettingAsync(array $args = [])
 * @method \DragonJd\Result changeServerSideExcludeSetting(array $args = [])
 * @method \GuzzleHttp\Promise\Promise changeServerSideExcludeSettingAsync(array $args = [])
 * @method \DragonJd\Result getEnableQueryStringSortSetting(array $args = [])
 * @method \GuzzleHttp\Promise\Promise getEnableQueryStringSortSettingAsync(array $args = [])
 * @method \DragonJd\Result changeEnableQueryStringSortSetting(array $args = [])
 * @method \GuzzleHttp\Promise\Promise changeEnableQueryStringSortSettingAsync(array $args = [])
 * @method \DragonJd\Result getSSLSetting(array $args = [])
 * @method \GuzzleHttp\Promise\Promise getSSLSettingAsync(array $args = [])
 * @method \DragonJd\Result changeSSLSetting(array $args = [])
 * @method \GuzzleHttp\Promise\Promise changeSSLSettingAsync(array $args = [])
 * @method \DragonJd\Result getMinimumTLSVersionSetting(array $args = [])
 * @method \GuzzleHttp\Promise\Promise getMinimumTLSVersionSettingAsync(array $args = [])
 * @method \DragonJd\Result changeMinimumTLSVersionSetting(array $args = [])
 * @method \GuzzleHttp\Promise\Promise changeMinimumTLSVersionSettingAsync(array $args = [])
 * @method \DragonJd\Result getCiphersSetting(array $args = [])
 * @method \GuzzleHttp\Promise\Promise getCiphersSettingAsync(array $args = [])
 * @method \DragonJd\Result changeCiphersSetting(array $args = [])
 * @method \GuzzleHttp\Promise\Promise changeCiphersSettingAsync(array $args = [])
 * @method \DragonJd\Result getZoneEnableTLS1_3Setting(array $args = [])
 * @method \GuzzleHttp\Promise\Promise getZoneEnableTLS1_3SettingAsync(array $args = [])
 * @method \DragonJd\Result changeTLS1_3Setting(array $args = [])
 * @method \GuzzleHttp\Promise\Promise changeTLS1_3SettingAsync(array $args = [])
 * @method \DragonJd\Result getTLSClientAuthSetting(array $args = [])
 * @method \GuzzleHttp\Promise\Promise getTLSClientAuthSettingAsync(array $args = [])
 * @method \DragonJd\Result changeTLSClientAuthSetting(array $args = [])
 * @method \GuzzleHttp\Promise\Promise changeTLSClientAuthSettingAsync(array $args = [])
 * @method \DragonJd\Result getTrueClientIPSetting(array $args = [])
 * @method \GuzzleHttp\Promise\Promise getTrueClientIPSettingAsync(array $args = [])
 * @method \DragonJd\Result changeTrueClientIPSetting(array $args = [])
 * @method \GuzzleHttp\Promise\Promise changeTrueClientIPSettingAsync(array $args = [])
 * @method \DragonJd\Result getWebApplicationFirewallWAFSetting(array $args = [])
 * @method \GuzzleHttp\Promise\Promise getWebApplicationFirewallWAFSettingAsync(array $args = [])
 * @method \DragonJd\Result changeWebApplicationFirewallWAFSetting(array $args = [])
 * @method \GuzzleHttp\Promise\Promise changeWebApplicationFirewallWAFSettingAsync(array $args = [])
 * @method \DragonJd\Result getHTTP2Setting(array $args = [])
 * @method \GuzzleHttp\Promise\Promise getHTTP2SettingAsync(array $args = [])
 * @method \DragonJd\Result changeHTTP2Setting(array $args = [])
 * @method \GuzzleHttp\Promise\Promise changeHTTP2SettingAsync(array $args = [])
 * @method \DragonJd\Result getHTTP3Setting(array $args = [])
 * @method \GuzzleHttp\Promise\Promise getHTTP3SettingAsync(array $args = [])
 * @method \DragonJd\Result changeHTTP3Setting(array $args = [])
 * @method \GuzzleHttp\Promise\Promise changeHTTP3SettingAsync(array $args = [])
 * @method \DragonJd\Result get0_RTTSessionResumptionSetting(array $args = [])
 * @method \GuzzleHttp\Promise\Promise get0_RTTSessionResumptionSettingAsync(array $args = [])
 * @method \DragonJd\Result change0_RTTSessionResumptionSetting(array $args = [])
 * @method \GuzzleHttp\Promise\Promise change0_RTTSessionResumptionSettingAsync(array $args = [])
 * @method \DragonJd\Result getPseudoIPv4Setting(array $args = [])
 * @method \GuzzleHttp\Promise\Promise getPseudoIPv4SettingAsync(array $args = [])
 * @method \DragonJd\Result changePseudoIPv4Setting(array $args = [])
 * @method \GuzzleHttp\Promise\Promise changePseudoIPv4SettingAsync(array $args = [])
 * @method \DragonJd\Result getWebSocketsSetting(array $args = [])
 * @method \GuzzleHttp\Promise\Promise getWebSocketsSettingAsync(array $args = [])
 * @method \DragonJd\Result changeWebSocketsSetting(array $args = [])
 * @method \GuzzleHttp\Promise\Promise changeWebSocketsSettingAsync(array $args = [])
 * @method \DragonJd\Result getImageResizingSetting(array $args = [])
 * @method \GuzzleHttp\Promise\Promise getImageResizingSettingAsync(array $args = [])
 * @method \DragonJd\Result getHTTP2EdgePrioritizationSetting(array $args = [])
 * @method \GuzzleHttp\Promise\Promise getHTTP2EdgePrioritizationSettingAsync(array $args = [])
 * @method \DragonJd\Result changeHTTP2EdgePrioritizationSetting(array $args = [])
 * @method \GuzzleHttp\Promise\Promise changeHTTP2EdgePrioritizationSettingAsync(array $args = [])
 * @method \DragonJd\Result changeMaxUploadSetting(array $args = [])
 * @method \GuzzleHttp\Promise\Promise changeMaxUploadSettingAsync(array $args = [])
 */
class StarshieldClient extends JdCloudClient
{
    public function __construct(array $args)
    {
        $args['with_resolved'] = function (array $args) {
            $this->getHandlerList()->appendInit(
                PresignUrlMiddleware::wrap(
                    $this,
                    $args['endpoint_provider'],
                    [
                        'operations' => [
                        ],
                        'service' => 'starshield',
                        'presign_param' => 'PresignedUrl',
                    ]
                ),
                'starshield'
            );
        };

        parent::__construct($args);
    }
}